# 使用 Python 3.11  slim 镜像作为基础
FROM python:3.11-slim

# 设置工作目录
WORKDIR /app

# 设置环境变量
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=off \
    PIP_DISABLE_PIP_VERSION_CHECK=on \
    PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/ \
    PIP_TRUSTED_HOST=mirrors.aliyun.com

# 安装系统依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    gcc \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# 复制依赖文件（仅复制 requirements.txt，不包含业务代码）
COPY ../requirements.txt .

# 安装 Python 依赖
RUN pip install --upgrade pip \
    && pip install -r requirements.txt

# 暴露应用端口（默认 5000，可通过环境变量修改）
EXPOSE 5000

# 设置启动命令（将在 docker-compose 中被覆盖，这里仅作为默认）
CMD ["gunicorn", "-w", "4", "-k", "uvicorn.workers.UvicornWorker", "wsgi:application", "--bind", "0.0.0.0:5000"]
    